A communication network typically includes a core network and at least one access network. The core network is the central part of the communication network and serves as the backbone of the communication network. The core network typically includes high capacity switches and transmission equipment. Each access network serves as a point of contact with the communication network for users. Access networks connect subscribers with their service providers. A communication network may have multiple access networks, serving different sets of users, in communication with a single core network.
A communication network may deliver content to a user. Typically, a user device in an access network will create a request for a certain piece of content, and forward that request through the access network to the core network. Within the core network may be a core services platform; a core services platform is a device located in the core network that performs a variety of services. The core services platform may identify a location where the requested content is stored. Typically, this location is a content storage repository. The content storage repository may be located in the same access network as the user, in a different access network, or in the core network. The core services platform then may coordinate the retrieval of the requested content from the content storage repository, and may coordinate the delivery of the requested content back to the user device.
In order to improve the efficiency of data retrieval, a device in the network may store a cache. Generally, a “cache” is a collection of data duplicating other data stored elsewhere. The cache may temporarily store frequently or recently accessed data for faster access than could be achieved by fetching the original data. Once the data is stored in the cache, future use can be made by accessing the cached copy rather than re-fetching the original data, so that the average access time is shorter.
The device storing the cache (“cache device”) may be a file server, though files may be cached on other devices, such as a personal computer or an intermediate network device, such as a router. The cache device may exist in the same access network as the user requesting the content, in a different access network, or in the core network.
Generally, when a user requests content at a user device, the user device checks whether the content is available in the user device's cache. If the content is not available in the cache, or if the content stored in the cache is outdated, the user device may request, through the access network, that the content be provided to the user device. The access network may contain devices with caches as well; if these devices receive the request, they may check whether the requested content is stored in their local cache and if their cached copy of the content is up-to-date. If the content is available and up-to-date, the device containing the cache may simply forward this cached copy to the user device. If not, the access network device may request the content through the core network.
Resource constraints in access networks, coupled with increased amounts of content storage in access network devices, can create cache storage resource contention problems, where multiple different pieces of content contend for limited storage space in the cache. Further, cache content retrieval and renewal in access network devices tends to be a reactive process. Generally, new content is cached only after the old content expires.